The present invention relates to a network system, a band management apparatus, a transmitting apparatus, a network transmitting method, a band management method, and a transmitting method, for network data transmission.
In recent years, systems for transmitting various types of data through a network have been widely used. One method for managing a bandwidth of a band used in plural transmitting/receiving systems uses a band management apparatus.
FIG. 10 shows a network system which uses the band management apparatus according to a prior art. Turning now to FIG. 10, reference numeral 101 designates a network, 102 designates a transmitting apparatus A, 103 designates a receiving apparatus A, 1004 designates a conventional band management apparatus, 1005 designates a conventional band management section, 106 designates an inquiry packet output unit, 108 designates a conventional processor, 109 designates a table storage unit, 110 designates a transmitting apparatus B, 111 designates a receiving apparatus B, 112 designates a transmitting apparatus C, and 113 designates a receiving apparatus C. FIG. 11 shows a table for managing the number of packets. Hereinafter, a description will be given with reference to FIGS. 10 and 11.
The table storage unit 109 holds the table shown in FIG. 11. The processor 108 sequentially reads a transmission source identifier (ID) and a receiving destination ID of a packet to be transmitted on the network from the table storage unit 109 and posts them to the inquiry packet output unit 106. The number of lines is a finite number, i.e., xe2x80x9cNxe2x80x9d (N: positive integer), as can be seen from the table. The IDs are sequentially read in ascending order of 1xe2x88x92N, and when IDs on the N-th line have been read, the same reading operation is repeated. The inquiry packet output unit 106 adds the posted IDs to an inquiry packet, and outputs the resulting inquiry packet. The transmitting apparatuses A102, B110, and C112, and receiving apparatuses A103, B111, and C113 respectively monitor the inquiry packet all the time. When a receiving apparatuses recognizes a match between the receiving destination ID of the inquiry packet and its own ID, it prepares for receiving a data packet which will be output toward the network 101 after a specified time elapses. When a transmitting apparatuses recognizes a match between the transmission source ID of the inquiry packet and its own ID, it packetizes data to-be-transmitted and then outputs the packetized data toward the network 101 after a specified time elapses. The receiving apparatus receives the packet and thereby receives the data from the transmitting apparatus. Then, the inquiry packet output unit 106 outputs a next inquiry packet. Thereafter, the operation is repeated in the same manner.
Each transmitting/receiving system uses the packets according to information contained in the table storage unit 109, and thereby the band management unit 1004 ensures the number of packets to-be-allocated for each transmitting/receiving system, i.e., a bandwidth to-be-allocated for each transmitting/receiving apparatus.
FIG. 12 shows an example of a table into which information about bandwidth allocation is entered. In FIG. 12, the number of lines on the table xe2x80x9cNxe2x80x9d is 6. Assume that a total bandwidth is 6 Mbps in the whole network system.
When transmission between the transmitting apparatus A and the receiving apparatus A requires 3 Mbps, as can be seen from the table in FIG. 12, three out of six are allocated for them. Likewise, when transmission between the transmitting apparatus B and the receiving apparatus B requires 2 Mbs, two out of six are allocated for them, and when transmission between the transmitting apparatus C and the receiving apparatus C requires 1 Mbps, one out of six is allocated for them. The allocation positions in the table are arbitrary. In this manner, the bandwidth to-be-allocated for each transmitting/receiving system is ensured.
A description will be given of a case where VBR (variable Bit Rate) data is transmitted from the transmitting apparatus A. In such data transmission, the bandwidth required for the VBR data dynamically changes, and therefore, packets which can be transmitted with the maximum required band are always allocated for the corresponding transmitting/receiving system, or the transmitting apparatus A102 posts the required bandwidth to the band management apparatus 1004, which dynamically changes the bandwidth to-be-allocated.
FIG. 13 is a flowchart showing a procedure for dynamically allocating the number of packets according to the prior art. In Step 1304, the transmitting apparatus A102 decides whether or not the bandwidth to-be-allocated should be changed. When decided that it should be changed, in Step 1305, the transmitting apparatus A102 posts a change request to the band management apparatus 1004. In Step 1302, the band management apparatus 1004 which has received the change request rewrites the contents of the table storage unit 109 to change the bandwidth to-be-allocated.
However, in the method in which the maximum required bandwidth is always allocated for the corresponding transmitting/receiving system, the maximum bandwidth should be ensured for a time period during which a small bandwidth might be necessary. For this reason, although there are free portions in the total bandwidth, another transmitting/receiving system cannot use them, which causes reduced efficiency in the use of the band. In addition, in the method in which the transmitting apparatus dynamically posts the change request, a procedure for posting the change request must be prepared for.
It is an object of the present invention to provide a network system, a band management apparatus, a transmitting apparatus, a network transmitting method, a band management method, and a transmitting method, wherein a bandwidth can be dynamically changed without the necessity of preparing for a procedure for posting a request for bandwidth change, and thereby efficiency in the use of the band is improved.
Other objects and advantages of the invention will become apparent from the detailed description that follows. The detailed description and specific embodiments described are provided only for illustration since various additions and modifications within the spirit of and scope of the invention will be apparent to those skilled in the art from the detailed description.
According to a first aspect of the present invention, a network system includes at least one transmitting apparatus connected to a network for outputting packets containing data to the network and at least one receiving apparatus connected to the network for receiving from the network the packets that have been output from the transmitting apparatuses. The transmitting apparatuses and the receiving apparatuses make up plural transmitting/receiving systems. The network system comprises: data packet monitoring means for monitoring the packets transmitted through the network and detecting the amount of data in the packets to be used by a specified transmitting/receiving system; and band management means for determining a bandwidth on the network to be used by the specified transmitting/receiving system, based on the amount of data in the packets that is detected by the data packet monitoring means.
According to a second aspect of the present invention, in the network system of the first aspect, the band management means holds a maximum value and a minimum value of a bandwidth to be allocated for the specified transmitting/receiving system, sets the bandwidth to be allocated for the specified transmitting/receiving system to the minimum value when the amount of data in the packet that is detected by the data packet monitoring means is zero, and sets the bandwidth to the maximum value when the amount of data in the packet is not zero.
According to a third aspect of the present invention, in the network system of the first aspect, the band management means determines cycles at regular time intervals, and controls the bandwidth to be allocated for the specified transmitting/receiving system according to the amount of data in the packets that is detected by the data packet monitoring means in one cycle.
According to a fourth aspect of the present invention, in the network system of the third aspect, the band management means adds the amount of data in the packets for the specified transmitting/receiving system that is detected by the data packet monitoring means in one cycle, increases the bandwidth to be allocated for the specified transmitting/receiving system when the addition result is larger than that in a previous cycle, and reduces the bandwidth when the addition result is smaller than that in the previous cycle.
According to a fifth aspect of the present invention, in the network system of the third aspect, the band management means includes a table showing correspondences between amount of data and allocated bandwidths, adds the amount of data in the packets for the specified transmitting/receiving system that is detected by the data packet monitoring means in one cycle, finds a range in which the added amount of data lies according to the table, and changes the bandwidth according to the table immediately after detecting that the range is different from a range in which the added amount of data in a previous cycle lies.
According to a sixth aspect of the present invention, in the network system of the third aspect, the band management means holds a reference value of averaged amount of data per packet, computes the averaged amount of data per packet from the amount of data in the packets for the specified transmitting/receiving system that is detected by the data monitoring means in one cycle, increases the bandwidth to be allocated for the specified transmitting/receiving system when the computed averaged amount of data is not smaller than the reference value, and reduces the bandwidth when the computed averaged is smaller than the reference value.
According to a seventh aspect of the present invention, in the network system of the third aspect, the band management means holds a reference value of the amount of data per packet, increases the bandwidth to be allocated for the specified transmitting/receiving system when the amount of data in the last packet for the specified transmitting/receiving system that is detected by the data packet monitoring means in one cycle is not smaller than the reference value, and reduces the bandwidth when the amount of data is smaller than the reference value.
According to an eighth aspect of the present invention, in the network system as defined in any of the third to seventh aspects, the transmitting apparatus comprises a data input unit for inputting data; a buffer for temporarily storing data input from the data input unit; and a packet creating unit for controlling the amount of data to be written onto a packet according to the amount of data stored in the buffer when the data is read from the buffer and written onto the packet, and the resulting packet is output toward the network.
According to a ninth aspect of the present invention, in the network system of the eighth aspect, the packet creating unit holds an upper limit value of the amount of data to be written onto the packet and a threshold of the amount of data to be stored in the buffer, and writes data of the amount of the upper limit value or more onto the packet when the amount of data to be stored in the buffer is not smaller than the threshold, and the band management apparatus, immediately after detecting at least one packet containing data of the amount of the upper limit value or more for the specified transmitting/receiving system per cycle, sets the bandwidth to be allocated for the specified transmitting/receiving system to a maximum value.
According to a tenth aspect of the present invention, in the network system as defined in any of the third to eighth aspects, the band management means holds an averaged upper limit value of data contained in a packet, and sets the bandwidth to be allocated for the specified transmitting/receiving system to a maximum value immediately after the averaged amount of data per packet for the specified transmitting/receiving system in one cycle has become the averaged upper limit value or more.
According to an eleventh aspect of the present invention, a network system includes a band management apparatus as well as at least one transmitting apparatus connected to a network for outputting packets containing data to the network and at least one receiving apparatus connected to the network for receiving from the network the packets that have been output from the transmitting apparatuses. The transmitting apparatuses and the receiving apparatuses make up plural transmitting/receiving systems. The band management apparatus is included in the network system for managing a bandwidth on the network system used by at least one of the transmitting/receiving systems. The band management apparatus comprises: a data packet monitoring unit for monitoring the packets transmitted through the network and detecting the amount of data in the packets to be used by a specified transmitting/receiving system; and a band management unit for determining a bandwidth on the network to be used by the specified transmitting/receiving system, based on the amount of data in the packets that is detected by the data packet monitoring unit.
According to a twelfth aspect of the present invention, in the band management apparatus of the eleventh aspect, the band management unit holds a maximum value and a minimum value of a bandwidth to be allocated for the specified transmitting/receiving system, sets the bandwidth to be allocated for the specified transmitting/receiving system to the minimum value when the amount of data in the packet is zero, and sets the bandwidth to the maximum value when the amount of data in the packet is not zero.
According to a thirteenth aspect of the present invention, in the band management apparatus of the eleventh aspect, the band management unit determines cycles at regular time intervals, and controls the bandwidth to be allocated for the specified transmitting/receiving system according to the amount of data in the packets that is detected by the data packet monitoring unit in one cycle.
According to a fourteenth aspect of the present invention, in the band management apparatus of the thirteenth aspect, the band management unit adds the amount of data in the packets that is detected by the data packet monitoring unit in one cycle, increases the bandwidth to be allocated for the specified transmitting/receiving system when the addition result is larger than that in a previous cycle, and reduces the bandwidth when the addition result is smaller than that in the previous cycle.
According to a fifteenth aspect of the present invention, in the band management apparatus of the thirteenth aspect, the band management unit includes a table showing correspondences between amount of data and allocated bandwidths, adds the amount of data in the packets which is detected by the data packet monitoring unit in one cycle, finds a range in which the added amount of data lies according to the table, and changes the bandwidth according to the table immediately after detecting that the range is different from a range in which added amount of data in a previous cycle lies.
According to a sixteenth aspect of the present invention, in the band management apparatus of the thirteenth aspect, the band management unit holds a reference value of averaged amount of data per packet, computes the averaged amount of data per packet from the amount of data in the packets that is detected by the data packet monitoring means in one cycle, increases the bandwidth to be allocated for the specified transmitting/receiving system when the computed averaged amount of data is not smaller than the reference value, and reduces the bandwidth when the computed averaged amount of data is smaller than the reference value.
According to a seventeenth aspect of the present invention, in the band management apparatus of the thirteenth aspect, the band management unit holds a reference value of the amount of data per packet, increases the bandwidth to be allocated for the specified transmitting/receiving system when the amount of data in the last packet for the specified transmitting/receiving system that is detected by the data packet monitoring unit in one cycle is not smaller than the reference value, and reduces the bandwidth when the amount of data is smaller than the reference value.
According to an eighteenth aspect of the present invention, in the band management apparatus as defined in any of the twelfth to seventeenth aspects, the band management unit, immediately after detecting at least one packet containing data of the amount of the upper limit value or more for the specified transmitting/receiving system per cycle, sets the bandwidth to be allocated for the specified transmitting/receiving system to the maximum value.
According to a nineteenth aspect of the present invention, in the band management apparatus as defined in any of the twelfth to seventeenth aspects, the band management unit holds an averaged upper limit value of data contained in a packet, and sets the bandwidth to be allocated for the specified transmitting/receiving system to the maximum value immediately after the averaged amount of data per packet for the specified transmitting/receiving system has become the averaged upper limit value or more.
According to a twentieth aspect of the present invention, a transmitting apparatus connected to a network for outputting a packet containing data to the network, comprises: a data input unit for inputting data; a buffer for temporarily storing data input from the data input unit; and a packet creating unit for controlling the amount of data to be written onto a packet according to the amount of data stored in the buffer when the data is read from the buffer and written onto the packet, and the resulting packet is output toward the network.
According to a twenty-first aspect of the present invention, in the transmitting apparatus of the twentieth aspect, the packet creating unit holds an upper limit value of the amount of data to be written onto a packet and a threshold of the amount of data to be stored in the buffer, and writes data of the amount of the upper limit value or more onto the packet when the amount of data to be stored in the buffer is not smaller than the threshold.
A twenty-second aspect of the present invention is drawn to a network transmitting method in a network system, which includes at least one transmitting apparatus connected to a network for outputting packets containing data to the network and at least one receiving apparatus connected to the network for receiving from the network the packets that have been output from the transmitting apparatuses, wherein the transmitting apparatuses and the receiving apparatuses making up plural transmitting/receiving systems. The network transmitting method comprises monitoring the packets transmitted through the network, detecting the amount of data in the packets to be used by a specified transmitting/receiving system, and determining a bandwidth on the network to be used by the specified transmitting/receiving system, based on the detected amount of data.
According to a twenty-third aspect of the present invention, the network transmitting method of the twenty-second aspect further comprises setting the bandwidth to be allocated for the specified transmitting/receiving system to the minimum value when the amount of data is zero, and setting the bandwidth to the maximum value when the amount of data is not zero.
According to a twenty-fourth aspect of the present invention, the network transmitting method of the twenty-second aspect further comprises determining cycles at regular time intervals each comprising at least one packet, and controlling the bandwidth to be allocated for the specified transmitting/receiving system according to the amount of data for the specified system per cycle.
According to a twenty-fifth aspect of the present invention, the network transmitting method of the twenty-fourth aspect further comprises increasing the bandwidth to be allocated for the specified transmitting/receiving system when the amount of data per cycle is larger than the amount of data in a previous cycle, and reducing the bandwidth when the amount of data per cycle is smaller than the amount in the previous cycle.
According to a twenty-sixth aspect of the present invention, the network transmitting method of the twenty-fourth aspect further comprises holding a table showing correspondences between amount of data and allocated bandwidths, computing the amount of data for the specified transmitting/receiving system per cycle, and finding the bandwidth to be allocated which is adapted to the amount of data according to the table.
According to a twenty seventh aspect of the present invention, the network transmitting method of the twenty fourth aspect further comprises holding a reference value of averaged amount of data, computing the averaged amount of data for the specified transmitting/receiving system per cycle, increasing the bandwidth to be allocated for the specified transmitting/receiving system when the computed averaged amount of data is not smaller than the reference value, and reducing the bandwidth when the computed averaged amount is smaller than the reference value.
According to a twenty-eighth aspect of the present invention, the network transmitting method of the twenty-fourth aspect further comprises holding a reference value of the amount of data per packet, increasing the bandwidth to be allocated for the specified transmitting/receiving system when the detected amount of data in the last packet for the specified transmitting/receiving system in one cycle is not smaller than the reference value, and reducing the bandwidth when the detected amount is smaller than the reference value.
According to a twenty-ninth aspect of the present invention, the network transmitting method as defined in any of the twenty-fourth to twenty-eighth aspects further comprises controlling the amount of data to be written onto a packet according to the amount of data stored in transmitting means.
According to a thirtieth aspect of the present invention, the network transmitting method of the twenty-ninth aspect further comprises, when the transmitting means transmits a packet containing data, determining an upper limit value of the amount of data written onto the packet and a threshold of the amount of data stored in the transmitting means, the transmitting means writing data of the amount of the upper limit value or more onto the packet immediately after storing data of the amount of the threshold or more therein, and setting the bandwidth to be allocated for the specified transmitting/receiving system to the maximum value when at least one packet containing data of the amount exceeding the upper limit value on the network is detected in one cycle.
According to a thirty-first aspect of the present invention, the network transmitting method as defined in any of the twenty-fourth to twenty-ninth aspects, further comprises determining an averaged upper limit value of the amount of data contained per packet, and immediately after the amount of data per packet for the specified transmitting/receiving system in one cycle has become the averaged upper limit value or more, setting the bandwidth to be allocated for the specified transmitting/receiving system to the maximum value.
A thirty-second aspect of the present invention is drawn to a band management method in a network system which includes at least one transmitting apparatus connected to a network for outputting packets containing data to the network and at least one receiving apparatus connected to the network for receiving from the network the packets that have been output from the transmitting apparatuses, wherein the transmitting apparatuses and the receiving apparatuses making up plural transmitting/receiving systems. The band management method for managing a bandwidth on the network used by at least one of the transmitting/receiving systems comprises: monitoring the packets transmitted through the network, detecting the amount of data in the packets to be used by a specified transmitting/receiving system, and determining a bandwidth on the network to be used by the specified transmitting/receiving system, based on the detected amount of data.
According to a thirty-third aspect of the present invention, the band management method of the thirty second aspect further comprises setting the bandwidth to be allocated for the specified transmitting/receiving system to the minimum value when the amount of data is zero, and setting the bandwidth to the maximum value when the amount of data is not zero.
According to a thirty-fourth aspect of the present invention, the band management method of the thirty-second aspect further comprises determining cycles at regular time intervals each comprising at least one packet, and controlling the bandwidth to be allocated for the specified transmitting/receiving system according to the amount of data for it per cycle.
According to a thirty-fifth aspect of the present invention, the band management method of the thirty-fourth aspect further comprises increasing the bandwidth to be allocated for the specified transmitting/receiving system when the amount of data per cycle is larger than the amount of data in a previous cycle, and reducing the bandwidth when the amount of data per cycle is smaller than the amount in the previous cycle.
According to a thirty-sixth aspect of the present invention, the band management method of the thirty-fourth aspect further comprises holding a table showing correspondences between amount of data and allocated bandwidths, computing the amount of data to be allocated for the specified transmitting/receiving system per cycle, and finding the bandwidth to be allocated which is adapted to the amount of data according to the table.
According to a thirty-seventh aspect of the present invention, the band management method of the thirty-fourth aspect further comprises holding a reference value of the averaged amount of data, computing the averaged amount of data for specified transmitting/receiving system per cycle, increasing the bandwidth to be allocated for the specified transmitting/receiving system when the averaged amount of data is not smaller than the reference value, and reducing the bandwidth when the averaged amount is smaller than the reference value.
According to a thirty-eighth aspect of the present invention, the band management method of the thirty-fourth aspect further comprises holding a reference value of the amount of data per packet, increasing the bandwidth to be allocated for the specified transmitting/receiving system when the detected amount of data in the last packet for the specified transmitting/receiving system in one cycle is not smaller than the reference value, and reducing the bandwidth when the detected amount is smaller than the reference value.
According to a thirty-ninth aspect of the present invention, the band management method as defined in any of the thirty-fourth to thirty-eighth aspects further comprises determining an upper limit value of the amount of data to be written onto a packet, and setting the bandwidth to be allocated for the specified transmitting/receiving system to the maximum value when at least one packet containing data of the amount exceeding the upper limit value is detected in one cycle.
According to a fortieth aspect of the present invention, the band management method as defined in any of thirty-fourth to thirty-eighth aspects further comprises determining an averaged upper limit value of the amount of data contained per packet, and setting the bandwidth to be allocated for the specified transmitting/receiving system to the maximum value immediately after the amount of data contained per packet for the specified system in one cycle has become the averaged upper limit value or more.
According to a forty-first aspect of the present invention, a transmitting method for transmitting a packet containing data written by a transmitting apparatus connected to a network, comprises: controlling amount of data to be written onto the packet according to the amount of data stored in the transmitting apparatus.
According to a forty-second aspect of the present invention, the transmitting method of the forty-first aspect, further comprises: when transmitting a packet containing data, determining an upper limit value of the amount of data to be written onto the packet and a threshold of the amount of data stored in transmitting apparatus, and writing data of the amount of the upper limit value or more immediately after data of the amount of the threshold or more is stored in the transmitting apparatus.